/**
 * Created by zhouli on 18/11/28
 */
import config from 'config';
import httpFetch from 'share/httpFetch';
import errorMessage from 'share/errorMessage';
import {message} from 'antd';
import {messages} from "share/common";
export default {
  //获取租户下面所有的账套，与启用的成本中心
  getTenantAllSobCostCenter() {
    let params = {
      enable: true
    };
    return new Promise((resolve, reject) => {
      httpFetch.get(config.baseUrl + '/api/setOfBooks/and/costcenter/by/tenant', params)
        .then((res) => {
          resolve(res)
        })
        .catch((err) => {
          errorMessage(err.response);
          reject(err);
        })
    })
  },
  //检测是否有成本中心
  checkIsHasCostcenter(options) {
    let ccArr = [];
    //options 代表肯定有账套
    options.map(item => {
      ccArr.push(item.reportCostCenterDTOs)
    });
    //ccArr 中，只要有一个是大于0数组，就可以代表有成本中心
    for (let i = 0; i < ccArr.length; i++) {
      if (ccArr[i] && ccArr[i].length && ccArr[i].length > 0) {
        return true;
      }
    }
    return false;
  },
  //处理账套/成本中心
  delOptions(options) {
    //注意不要轻易修改这里数据结构，有两个组件使用这个结构
    //可以在此基础上添加你要字段
    if(options && options.length && options.length > 0){
      if (!this.checkIsHasCostcenter(options)) {
        message.warning(messages('components.key728')/*请先创建成本中心*/);
      }
      return options.map(item => {
        item.label = item.setOfBooksName;
        item.value = item.id;
        if (item.reportCostCenterDTOs && item.reportCostCenterDTOs.length > 0) {
          item.reportCostCenterDTOs.map(cc => {
            cc.label = cc.name;
            cc.value = cc.costCenterOID;
          });
          item.children = item.reportCostCenterDTOs;
        }
        return item;
      });
    }else {
      message.warning(messages('components.key729')/*请先配置账套*/);
    }
  }
}
